home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 January / PCWorld_2003-01_cd.bin / Software / Vyzkuste / rychlokurz / httrack.exe / {app} / src / htsopt.h < prev    next >
C/C++ Source or Header  |  2002-11-17  |  8KB  |  189 lines

  1. /* ------------------------------------------------------------ */
  2. /*
  3. HTTrack Website Copier, Offline Browser for Windows and Unix
  4. Copyright (C) Xavier Roche and other contributors
  5.  
  6. This program is free software; you can redistribute it and/or
  7. modify it under the terms of the GNU General Public License
  8. as published by the Free Software Foundation; either version 2
  9. of the License, or any later version.
  10.  
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with this program; if not, write to the Free Software
  18. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19.  
  20.  
  21. Important notes:
  22.  
  23. - We hereby ask people using this source NOT to use it in purpose of grabbing
  24. emails addresses, or collecting any other private information on persons.
  25. This would disgrace our work, and spoil the many hours we spent on it.
  26.  
  27.  
  28. Please visit our Website: http://www.httrack.com
  29. */
  30.  
  31.  
  32. /* ------------------------------------------------------------ */
  33. /* File: HTTrack parameters block                               */
  34. /*       Called by httrack.h and some other files               */
  35. /* Author: Xavier Roche                                         */
  36. /* ------------------------------------------------------------ */
  37.  
  38.  
  39. #ifndef HTTRACK_DEFOPT
  40. #define HTTRACK_DEFOPT
  41.  
  42. #include <stdio.h>
  43. #include "htsbasenet.h"
  44. #include "htsbauth.h"
  45.  
  46. // structure proxy
  47. typedef struct {
  48.   int active;
  49.   char name[1024];
  50.   int port;
  51. } t_proxy; 
  52.  
  53. /* Structure utile pour copier en bloc les paramΦtres */
  54. typedef struct {
  55.   char***  filters;
  56.   int*     filptr;
  57.   //int*    filter_max;
  58. } htsfilters;
  59.  
  60. /* Structure Θtat du miroir */
  61. typedef struct {
  62.   int stop;
  63. } htsoptstate;
  64.  
  65.  
  66. // paramΦtres httrack (options)
  67. typedef struct {
  68.   int wizard;       // wizard aucun/grand/petit
  69.   int flush;        // fflush sur les fichiers log
  70.   int travel;       // type de dΘplacements (same domain etc)
  71.   int seeker;       // up & down
  72.   int depth;        // nombre de niveaux de rΘcursion
  73.   int extdepth;     // nombre de niveaux de rΘcursion α l'ΘxtΘrieur
  74.   int urlmode;      // liens relatifs etc   
  75.   int debug;        // mode dΘbug log
  76.   int getmode;      // sauver html, images..
  77.   FILE* log;        // fichier log
  78.   FILE* errlog;     // et erreur
  79.   LLint maxsite;        // taille max site
  80.   LLint maxfile_nonhtml; // taille max non html
  81.   LLint maxfile_html;   // taille max html
  82.   int maxsoc;           // nbre sockets
  83.   LLint fragment;       // fragmentation d'un site
  84.   int nearlink;         // prendre les images/data proche d'une page mais α l'extΘrieur
  85.   int makeindex;        // faire un index
  86.   int kindex;           // et un index 'keyword'
  87.   int delete_old;       // effacer anciens fichiers
  88.   int timeout;          // nombre de secondes de timeout
  89.   int rateout;          // nombre d'octets minium pour le transfert
  90.   int maxtime;          // temps max en secondes
  91.   int maxrate;          // taux de transfert max
  92.   int maxconn;          // nombre max de connexions/s
  93.   int waittime;         // dΘmarrage programmΘ
  94.   int cache;            // gΘnΘration d'un cache
  95.   int aff_progress;     // barre de progression
  96.   int shell;            // gestion d'un shell par pipe stdin/stdout
  97.   t_proxy proxy;        // configuration du proxy
  98.   int savename_83;      // conversion 8-3 pour les noms de fichiers
  99.   int savename_type;    // type de noms: structure originale/html-images en un seul niveau
  100.   char savename_userdef[256];  // structure userdef (ex: %h%p/%n%q.%t)
  101.   int user_agent_send;  // user agent (ex: httrack/1.0 [sun])
  102.   char user_agent[128];
  103.   char path_log[1024];  // chemin pour cache et log
  104.   char path_html[1024]; // chemin pour miroir
  105.   char path_bin[1024];  // chemin pour templates
  106.   int retry;            // nombre d'essais supplΘmentaires en cas d'Θchec
  107.   int makestat;         // mettre α jour un fichier log de statistiques de transfert
  108.   int maketrack;        // mettre α jour un fichier log de statistiques d'opΘrations
  109.   int parsejava;        // parsing des classes java pour rΘcupΘrer les class, gif & cie
  110.   int hostcontrol;      // abandon d'un host trop lent etc.
  111.   int errpage;          // gΘnΘrer une page d'erreur en cas de 404 etc.
  112.   int check_type;       // si type inconnu (cgi,asp,/) alors tester lien (et gΘrer moved Θventuellement)
  113.   int all_in_cache;     // tout mettre en cache!
  114.   int robots;           // traitement des robots
  115.   int external;         // pages externes->pages d'erreur
  116.   int passprivacy;      // pas de mot de pass dans les liens externes?
  117.   int includequery;     // include la query-string
  118.   int mirror_first_page; // miroir des liens
  119.   char sys_com[2048];   // commande systΦme
  120.   int sys_com_exec;     // executer commande 
  121.   int accept_cookie;    // gestion des cookies
  122.   t_cookie* cookie;
  123.   int http10;           // forcer http 1.0
  124.   int nocompression;    // pas de compression
  125.   int sizehack;         // forcer rΘponse "mis α jour" si taille identique
  126.   int tolerant;         // accepter content-length incorrect
  127.   int parseall;         // essayer de tout parser (tags inconnus contenant des liens, par exemple)
  128.   int norecatch;        // ne pas reprendre les fichiers effacΘs localement par l'utilisateur
  129.   int verbosedisplay;   // animation textuelle
  130.   char footer[256];     // ligne d'infos
  131.   int maxcache;         // maximum en mΘmoire au niveau du cache (backing)
  132.   //int maxcache_anticipate; // maximum de liens α anticiper (majorant)
  133.   int ftp_proxy;        // proxy http pour ftp
  134.   char filelist[1024];  // fichier liste URL α inclure
  135.   char urllist[1024];   // fichier liste de filtres α inclure
  136.   htsfilters filters;   // contient les pointeurs pour les filtres
  137.   void* hash;           // hash structure
  138.   void* robotsptr;         // robots ptr
  139.   char lang_iso[64];    // en, fr ..
  140.   char mimedefs[2048];  // ext1=mimetype1\next2=mimetype2..
  141.   //
  142.   int maxlink;          // nombre max de liens
  143.   int maxfilter;        // nombre max de filtres
  144.   //
  145.   char* exec;           // adresse du nom de l'Θxecutable
  146.   //
  147.   int quiet;            // poser des questions autres que wizard?
  148.   int keyboard;         // vΘrifier stdin
  149.   //
  150.   int is_update;        // c'est une update (afficher "File updated...")
  151.   int dir_topindex;     // reconstruire top index par la suite
  152.   //
  153.   htsoptstate state;    // Θtat
  154. } httrackp;
  155.  
  156. // stats for httrack
  157. typedef struct {
  158.   LLint HTS_TOTAL_RECV;      // flux entrant reτu
  159.   LLint stat_bytes;          // octets Θcrits sur disque
  160.   // int HTS_TOTAL_RECV_STATE;  // status: 0 tout va bien 1: ralentir un peu 2: ralentir 3: beaucoup
  161.   TStamp stat_timestart;     // dΘpart
  162.   //
  163.   LLint total_packed;        // flux entrant compressΘ reτu
  164.   LLint total_unpacked;      // flux entrant compressΘ reτu
  165.   int   total_packedfiles;   // fichiers compressΘs
  166.   //
  167.   TStamp istat_timestart[2];   // dΘpart pour calcul instantannΘ
  168.   LLint  istat_bytes[2];       // calcul pour instantannΘ
  169.   TStamp istat_reference01;    // top dΘpart donnΘ par #0 α #1
  170.   int    istat_idlasttimer;    // id du timer qui a rΘcemment donnΘ une stat
  171.   //
  172.   int stat_files;            // nombre de fichiers Θcrits
  173.   int stat_updated_files;    // nombre de fichiers mis α jour
  174.   //
  175.   int stat_nsocket;          // nombre de sockets
  176.   int stat_errors;           // nombre d'erreurs
  177.   int stat_errors_front;     // idem, mais au tout premier niveau
  178.   int stat_warnings;         // '' warnings
  179.   int stat_infos;            // '' infos
  180.   int nbk;                   // fichiers anticipΘs en arriΦre plan et terminΘs
  181.   LLint nb;                  // donnΘes transfΘrΘes actuellement (estimation)
  182.   //
  183.   LLint rate;
  184. } hts_stat_struct;
  185.  
  186.  
  187. #endif
  188.  
  189.